home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / QD3DStorage.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  9.2 KB  |  326 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DStorage.a
  3. ;
  4. ;    Contains:    Abstraction to deal with various types of stream-based storage devices        
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__QD3DSTORAGE__') = 'UNDEFINED' THEN
  18. __QD3DSTORAGE__ SET 1
  19.  
  20.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  21.     include 'QD3D.a'
  22.     ENDIF
  23.  
  24.     IF TARGET_OS_MAC THEN
  25.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  26.     include 'MacTypes.a'
  27.     ENDIF
  28.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  29.     include 'Files.a'
  30.     ENDIF
  31.     ENDIF    ; TARGET_OS_MAC
  32. ; ******************************************************************************
  33. ; **                                                                             **
  34. ; **                                Storage Routines                             **
  35. ; **                                                                             **
  36. ; ****************************************************************************
  37.  
  38. ;
  39. ; extern TQ3ObjectType Q3Storage_GetType(TQ3StorageObject storage)
  40. ;
  41.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  42.         IMPORT_CFM_FUNCTION Q3Storage_GetType
  43.     ENDIF
  44.  
  45. ;
  46. ; extern TQ3Status Q3Storage_GetSize(TQ3StorageObject storage, unsigned long *size)
  47. ;
  48.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  49.         IMPORT_CFM_FUNCTION Q3Storage_GetSize
  50.     ENDIF
  51.  
  52. ;  
  53. ; *    Reads "dataSize" bytes starting at offset in storage, copying into data. 
  54. ; *    sizeRead returns the number of bytes filled in. 
  55. ; *    
  56. ; *    You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeRead
  57.  
  58. ;
  59. ; extern TQ3Status Q3Storage_GetData(TQ3StorageObject storage, unsigned long offset, unsigned long dataSize, unsigned char *data, unsigned long *sizeRead)
  60. ;
  61.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  62.         IMPORT_CFM_FUNCTION Q3Storage_GetData
  63.     ENDIF
  64.  
  65. ;  
  66. ; *    Write "dataSize" bytes starting at offset in storage, copying from data. 
  67. ; *    sizeWritten returns the number of bytes filled in. 
  68. ; *    
  69. ; *    You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeWritten
  70.  
  71. ;
  72. ; extern TQ3Status Q3Storage_SetData(TQ3StorageObject storage, unsigned long offset, unsigned long dataSize, const unsigned char *data, unsigned long *sizeWritten)
  73. ;
  74.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  75.         IMPORT_CFM_FUNCTION Q3Storage_SetData
  76.     ENDIF
  77.  
  78. ; ******************************************************************************
  79. ; **                                                                             **
  80. ; **                             Memory Storage Prototypes                         **
  81. ; **                                                                             **
  82. ; ****************************************************************************
  83.  
  84. ;
  85. ; extern TQ3ObjectType Q3MemoryStorage_GetType(TQ3StorageObject storage)
  86. ;
  87.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  88.         IMPORT_CFM_FUNCTION Q3MemoryStorage_GetType
  89.     ENDIF
  90.  
  91. ; * These calls COPY the buffer into QD3D space
  92.  
  93. ;
  94. ; extern TQ3StorageObject Q3MemoryStorage_New(const unsigned char *buffer, unsigned long validSize)
  95. ;
  96.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  97.         IMPORT_CFM_FUNCTION Q3MemoryStorage_New
  98.     ENDIF
  99.  
  100. ;
  101. ; extern TQ3Status Q3MemoryStorage_Set(TQ3StorageObject storage, const unsigned char *buffer, unsigned long validSize)
  102. ;
  103.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  104.         IMPORT_CFM_FUNCTION Q3MemoryStorage_Set
  105.     ENDIF
  106.  
  107. ; * These calls use the pointer given - you must dispose it when you're through
  108.  
  109. ;
  110. ; extern TQ3StorageObject Q3MemoryStorage_NewBuffer(unsigned char *buffer, unsigned long validSize, unsigned long bufferSize)
  111. ;
  112.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  113.         IMPORT_CFM_FUNCTION Q3MemoryStorage_NewBuffer
  114.     ENDIF
  115.  
  116. ;
  117. ; extern TQ3Status Q3MemoryStorage_SetBuffer(TQ3StorageObject storage, unsigned char *buffer, unsigned long validSize, unsigned long bufferSize)
  118. ;
  119.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  120.         IMPORT_CFM_FUNCTION Q3MemoryStorage_SetBuffer
  121.     ENDIF
  122.  
  123. ;
  124. ; extern TQ3Status Q3MemoryStorage_GetBuffer(TQ3StorageObject storage, unsigned char **buffer, unsigned long *validSize, unsigned long *bufferSize)
  125. ;
  126.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  127.         IMPORT_CFM_FUNCTION Q3MemoryStorage_GetBuffer
  128.     ENDIF
  129.  
  130.     IF TARGET_OS_MAC THEN
  131. ; ******************************************************************************
  132. ; **                                                                             **
  133. ; **                                Macintosh Handles Prototypes                 **
  134. ; **                                                                             **
  135. ; ****************************************************************************
  136.  
  137. ;  Handle Storage is a subclass of Memory Storage 
  138. ;
  139. ; extern TQ3StorageObject Q3HandleStorage_New(Handle handle, unsigned long validSize)
  140. ;
  141.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  142.         IMPORT_CFM_FUNCTION Q3HandleStorage_New
  143.     ENDIF
  144.  
  145. ;
  146. ; extern TQ3Status Q3HandleStorage_Set(TQ3StorageObject storage, Handle handle, unsigned long validSize)
  147. ;
  148.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  149.         IMPORT_CFM_FUNCTION Q3HandleStorage_Set
  150.     ENDIF
  151.  
  152. ;
  153. ; extern TQ3Status Q3HandleStorage_Get(TQ3StorageObject storage, Handle *handle, unsigned long *validSize)
  154. ;
  155.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  156.         IMPORT_CFM_FUNCTION Q3HandleStorage_Get
  157.     ENDIF
  158.  
  159. ; ******************************************************************************
  160. ; **                                                                             **
  161. ; **                                Macintosh Storage Prototypes                 **
  162. ; **                                                                             **
  163. ; ****************************************************************************
  164.  
  165. ;
  166. ; extern TQ3StorageObject Q3MacintoshStorage_New(short fsRefNum)
  167. ;
  168.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  169.         IMPORT_CFM_FUNCTION Q3MacintoshStorage_New
  170.     ENDIF
  171.  
  172. ;  Note: This storage is assumed open 
  173. ;
  174. ; extern TQ3Status Q3MacintoshStorage_Set(TQ3StorageObject storage, short fsRefNum)
  175. ;
  176.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  177.         IMPORT_CFM_FUNCTION Q3MacintoshStorage_Set
  178.     ENDIF
  179.  
  180. ;
  181. ; extern TQ3Status Q3MacintoshStorage_Get(TQ3StorageObject storage, short *fsRefNum)
  182. ;
  183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  184.         IMPORT_CFM_FUNCTION Q3MacintoshStorage_Get
  185.     ENDIF
  186.  
  187. ;
  188. ; extern TQ3ObjectType Q3MacintoshStorage_GetType(TQ3StorageObject storage)
  189. ;
  190.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  191.         IMPORT_CFM_FUNCTION Q3MacintoshStorage_GetType
  192.     ENDIF
  193.  
  194.  
  195. ; ******************************************************************************
  196. ; **                                                                             **
  197. ; **                            Macintosh FSSpec Storage Prototypes                 **
  198. ; **                                                                             **
  199. ; ****************************************************************************
  200.  
  201. ;
  202. ; extern TQ3StorageObject Q3FSSpecStorage_New(const FSSpec *fs)
  203. ;
  204.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  205.         IMPORT_CFM_FUNCTION Q3FSSpecStorage_New
  206.     ENDIF
  207.  
  208. ;
  209. ; extern TQ3Status Q3FSSpecStorage_Set(TQ3StorageObject storage, const FSSpec *fs)
  210. ;
  211.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  212.         IMPORT_CFM_FUNCTION Q3FSSpecStorage_Set
  213.     ENDIF
  214.  
  215. ;
  216. ; extern TQ3Status Q3FSSpecStorage_Get(TQ3StorageObject storage, FSSpec *fs)
  217. ;
  218.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  219.         IMPORT_CFM_FUNCTION Q3FSSpecStorage_Get
  220.     ENDIF
  221.  
  222.     ENDIF    ; TARGET_OS_MAC
  223.     IF TARGET_OS_WIN32 THEN
  224. ; ******************************************************************************
  225. ; **                                                                             **
  226. ; **                            Win32 HANDLE Storage Prototypes                     **
  227. ; **                                                                             **
  228. ; ****************************************************************************
  229.  
  230. ;
  231. ; extern TQ3StorageObject Q3Win32Storage_New(HANDLE hFile)
  232. ;
  233.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  234.         IMPORT_CFM_FUNCTION Q3Win32Storage_New
  235.     ENDIF
  236.  
  237. ;
  238. ; extern TQ3Status Q3Win32Storage_Set(TQ3StorageObject storage, HANDLE hFile)
  239. ;
  240.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  241.         IMPORT_CFM_FUNCTION Q3Win32Storage_Set
  242.     ENDIF
  243.  
  244. ;
  245. ; extern TQ3Status Q3Win32Storage_Get(TQ3StorageObject storage, HANDLE *hFile)
  246. ;
  247.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  248.         IMPORT_CFM_FUNCTION Q3Win32Storage_Get
  249.     ENDIF
  250.  
  251.     ENDIF    ; TARGET_OS_WIN32
  252.  
  253. ; ******************************************************************************
  254. ; **                                                                             **
  255. ; **                                    Unix Prototypes                             **
  256. ; **                                                                             **
  257. ; ****************************************************************************
  258.  
  259. ;
  260. ; extern TQ3StorageObject Q3UnixStorage_New(FILE *storage)
  261. ;
  262.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  263.         IMPORT_CFM_FUNCTION Q3UnixStorage_New
  264.     ENDIF
  265.  
  266. ;
  267. ; extern TQ3Status Q3UnixStorage_Set(TQ3StorageObject storage, FILE *stdFile)
  268. ;
  269.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  270.         IMPORT_CFM_FUNCTION Q3UnixStorage_Set
  271.     ENDIF
  272.  
  273. ;
  274. ; extern TQ3Status Q3UnixStorage_Get(TQ3StorageObject storage, FILE **stdFile)
  275. ;
  276.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  277.         IMPORT_CFM_FUNCTION Q3UnixStorage_Get
  278.     ENDIF
  279.  
  280. ;
  281. ; extern TQ3ObjectType Q3UnixStorage_GetType(TQ3StorageObject storage)
  282. ;
  283.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  284.         IMPORT_CFM_FUNCTION Q3UnixStorage_GetType
  285.     ENDIF
  286.  
  287. ; ******************************************************************************
  288. ; **                                                                             **
  289. ; **                                Unix Path Prototypes                         **
  290. ; **                                                                             **
  291. ; ****************************************************************************
  292.  
  293. ;
  294. ; extern TQ3StorageObject Q3UnixPathStorage_New(const char *pathName)
  295. ;
  296.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  297.         IMPORT_CFM_FUNCTION Q3UnixPathStorage_New
  298.     ENDIF
  299.  
  300. ;  C string 
  301. ;
  302. ; extern TQ3Status Q3UnixPathStorage_Set(TQ3StorageObject storage, const char *pathName)
  303. ;
  304.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  305.         IMPORT_CFM_FUNCTION Q3UnixPathStorage_Set
  306.     ENDIF
  307.  
  308. ;  C string 
  309. ;
  310. ; extern TQ3Status Q3UnixPathStorage_Get(TQ3StorageObject storage, char *pathName)
  311. ;
  312.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  313.         IMPORT_CFM_FUNCTION Q3UnixPathStorage_Get
  314.     ENDIF
  315.  
  316. ;  pathName is a buffer 
  317.  
  318.     ENDIF ; __QD3DSTORAGE__ 
  319.  
  320.